Категории
Самые читаемые
RUSBOOK.SU » Научные и научно-популярные книги » Радиотехника » Искусство схемотехники. Том 3 [Изд.4-е] - Пауль Хоровиц

Искусство схемотехники. Том 3 [Изд.4-е] - Пауль Хоровиц

Читать онлайн Искусство схемотехники. Том 3 [Изд.4-е] - Пауль Хоровиц

Шрифт:

-
+

Интервал:

-
+

Закладка:

Сделать
1 ... 22 23 24 25 26 27 28 29 30 ... 111
Перейти на страницу:

Если вы разрабатываете прибор с микропроцессорным управлением, то каким образом выполнить написание, ассемблирование, отладку и загрузку в ПЗУ программы для него? Это серьезная проблема, особенно для начинающих работать с микропроцессорами. Для решения ее можно предложить целый ряд методик, от простого автономного способа под названием «прожги и ломай» (burn and crash) до изощренных систем проектирования и эмуляторов языков высокого уровня. В настоящем разделе мы попытаемся описать, чем можно сегодня воспользоваться и насколько это полезно при разработке приборов с микропроцессорным управлением.

«Прожги и ломай». Это красочное название описывает простейший способ разработки программы для микропроцессорной аппаратуры. Заключается он в следующем. Сначала с помощью ассемблера или компилятора на компьютере общего назначения (возможно вашей настольной машине) вы получаете коды выполнимой программы, которые можно записать в РПЗУ. Если процессор-мишень, т. е. микропроцессор разрабатываемого прибора отличается от процессора использованного компьютера, вам понадобится «кросс-ассемблер»; в противном случае можно воспользоваться «родным» ассемблером компьютера. Теперь можете запрограммировать РПЗУ (это «прожги») и испытать программу в вашем приборе (это «ломай»). Дальнейшая отладка заключается в обнаружении неправильностей, вызванных ошибками в программе (или в аппаратуре), исправлении программы или включении в нее диагностических тестов, и повторных испытаниях. Поиск ошибок — широкое поле для остроумных приемов. Например, вставив в отлаживаемую программу соответствующие строки, вы можете использовать ЭЛД-индикаторы или другие порты в диагностических целях, выводя информацию о том, что происходит в программе. Не забывайте и о традиционных инструментах мира электроники — логическом пробнике, осциллографе, а также (в минуту отчаяния) о логическом анализаторе (см. ниже).

Заменители ПЗУ. Методика «прожги и ломай», описанная выше, является медленной процедурой. Хотя иногда она адекватна стоящей перед вами задаче, вам, скорее всего, быстро надоест повторение одних и тех же операций стирания РПЗУ под ультрафиолетовой лампой и программирования его в программаторе. Можно предложить способы ускорения этой процедуры: (а) Вместо РПЗУ используйте ЭРПЗУ. Программируются они не быстрее, но зато не надо тратить столько времени на стирание, (б) Используйте на время разработки не РПЗУ, а КМОП ОЗУ с резервным батарейным питанием (энергонезависимое). Эти микросхемы столь же быстры, как и обычные ОЗУ (т. е. «программируются» мгновенно) и имеют выводы, совместимые с РПЗУ, так что их можно вставлять в панельку разрабатываемого вами прибора, предназначенного для установки ПЗУ с программой. ОЗУ с резервным батарейным питанием поставляют многие фирмы (Dallas, Thomson-Mostek и др.); можно их сделать и самим, (в) Используйте «эмулятор ПЗУ». Это небольшая коробочка с кабелем и 28-контактным разъемом DIP на конце. Разъем вставляется в панельку для РПЗУ в вашем приборе, и коробочка эмулирует ПЗУ. Фактически, однако, она содержит двухпортовое ОЗУ, которое вы загружаете из вашего компьютера через последовательный порт. Использование эмулятора ПЗУ обеспечивает максимальную скорость отладки; так как для изменения программы вам не надо каждый раз вынимать и вставлять микросхемы памяти — вы просто загружаете новую программу в эмулятор, который остается включенным в налаживаемый прибор. Эмуляторы ПЗУ выпускаются под названиями "Memulator" или "Romulator" (последний поставляется фирмой Onset Computer Corp., Норт-Фалмут, Миннесота).

ПЗУ-монитор. Если в вашем приборе имеется последовательный порт, можно упростить процедуру разработки программного обеспечения, запрограммировав небольшое РПЗУ — «монитор», задачей которого является не управление прибором, а лишь обеспечение связи между памятью и портом. Простейший монитор позволяет загрузить в ОЗУ программу и запустить ее выполнение. Это заметно ускоряет разработку программного обеспечения, потому что пробные программы можно загружать в ОЗУ прибора непосредственно из компьютера. Не составляет особого труда расширить функции монитора, например, чтобы он мог считывать содержимое указанных ячеек ОЗУ. С таким добавлением пробные программы получают возможность сообщать о том, что происходит, например, путем засылки чисел в определенные ячейки ОЗУ перед возвратом управления монитору (через который компьютер может проанализировать содержимое этих ячеек). Такой монитор позволяет включить в пробную программу «программные точки останова», в которых содержимое требуемых регистров или ячеек памяти копируется в неиспользуемую область ОЗУ, откуда затем считывается через монитор в компьютер. ПЗУ-монитор заметно сокращает длительность разработки, так как помогает вам быстро находить причину неправильной работы программы.

Аппаратный эмулятор. Способ «прожги и ломай», как и его усовершенствования, описанные выше, часто позволяют решить поставленную задачу. Однако этот способ не идеален. Во-первых, он требует использования дополнительных ресурсов, таких, как последовательный порт. Во-вторых, и это более важно, он не обеспечивает обнаружения ошибочных операций на аппаратном уровне. Чтобы понять это последнее утверждение, представьте себе, что в вашем приборе возникает отказ, потому что он неправильно пытается записывать в РПЗУ. Это вы уже поняли, однако дальше дело застопорилось, так как трудно с помощью программной точки останова локализовать ошибку, обнаруживаемую только аппаратно. В нашем примере ошибка могла заключаться в затирании содержимого регистра. Это весьма неприятная ошибка: сбой происходит спустя значительное время после инициировавшего затирание события, и понять, в чем дело, изучая текст программы, нельзя. В таких случаях вам требуется поставить «аппаратную точку останова».

Решение лежит в использовании аппаратного эмулятора. Это коробка (или вставляемая плата) с аппаратными средствами, эмулирующая на этот раз микропроцессор вашего прибора. Она подсоединяется к налаживаемому прибору посредством кабеля, имеющего на конце разъем, имитирующий ЦП. Аппаратный эмулятор может выполнять как программу, находящуюся в памяти налаживаемого прибора (РПЗУ или ОЗУ), так и программу, загружаемую вами в эмулятор. В любом случае эмулятор осведомлен обо всем, что происходит в ЦП; он может следить за содержимым регистров, а также устанавливать аппаратные точки останова. Например, для решения нашей гипотетической проблемы можно потребовать от эмулятора, чтобы он фиксировал циклы записи в адресное пространство, занимаемое РПЗУ, и выдавал дамп регистров и листинг последних 100 команд, выполнявшихся перед неправильной записью в РПЗУ.

Аппаратная эмуляция является наилучшим средством разработки программ, обеспечивая максимальную гибкость и скорость работы. К ее недостаткам следует отнести высокую стоимость (несколько тысяч долл., иногда гораздо больше) и необходимость приобретать новый эмулятор для каждого типа используемого вами микропроцессора. Эмулятор ПЗУ, для сравнения, не является «процессорно-зависимым», но и уступает аппаратному эмулятору по своим возможностям. Это, так сказать, аппаратный эмулятор бедняка.

Системы разработки. «Система разработки» — это обобщенный термин для комбинации кросс-ассемблера, программатора РПЗУ и аппаратного эмулятора. Традиционно такие средства выпускались в виде внушительных автономных систем, однако в настоящее время большую популярность завоевывают вставные платы, использующие компьютер в качестве вычислительной базы, и, возможно, управляющие внешним блоком, содержащим дополнительные схемы. Как бы они не выглядели, вам необходимо приобрести такого рода систему, если вы специализируетесь на разработке микропроцессорных устройств, ориентированных на конкретный микропроцессор. Обычно системы разработки предлагаются фирмами, выпускающими микропроцессорные семейства. Некоторые фирмы, кроме того, изготавливают «универсальные эмуляторы», в которые можно вставлять платы с микропроцессорами разных типов. Системы разработки выпускаются, в частности, фирмами Hewlett-Packard, Tektronix, Microcosm, Applied Microsystems.

Логические анализаторы. Логические анализаторы можно назвать «супер-осциллографами» для разработки цифровой аппаратуры. Логический анализатор выступал в качестве главного действующего лица в книге Трейси Киддера «Душа новой машины». Эти замечательные устройства выглядят, как странные осциллографы, но в действительности включают в себя десятки каналов, большие объемы памяти, сложную логику «распознавания слов», а также средства деассемблирования выполняемых команд и представления их на экране. Логический анализатор может работать в двух режимах: анализа состояний и временного анализа. Вот как вы их должны использовать.

1 ... 22 23 24 25 26 27 28 29 30 ... 111
Перейти на страницу:
На этой странице вы можете бесплатно скачать Искусство схемотехники. Том 3 [Изд.4-е] - Пауль Хоровиц торрент бесплатно.
Комментарии
Открыть боковую панель
Комментарии
Вася
Вася 24.11.2024 - 19:04
Прекрасное описание анального секса
Сергій
Сергій 25.01.2024 - 17:17
"Убийство миссис Спэнлоу" от Агаты Кристи – это великолепный детектив, который завораживает с первой страницы и держит в напряжении до последнего момента. Кристи, как всегда, мастерски строит